.custom-tree {
  padding-left: 20px;
}

.custom-tree-node {
  position: relative;
  padding-left: 20px !important;
}

.custom-tree-node::before {
  content: '';
  position: absolute;
  left: -10px;
  top: 0;
  bottom: 0;
  border-left: 1px solid #d9d9d9;
}

.custom-tree-node::after {
  content: '';
  position: absolute;
  left: -10px;
  top: 50%;
  width: 10px;
  border-top: 1px solid #d9d9d9;
}

.custom-tree-node:last-child::before {
  height: 50%;
}

.custom-tree-children {
  margin-left: 20px;
}

.level-0 > .custom-tree-children {
  margin-left: 0;
}

.level-0::before, .level-0::after {
  display: none;
}